package com.itheima.proxy;

import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class ProxyUtil {
    public static Star createProxy(BigStar bigStar) {
        Star starProxy = (Star) Proxy.newProxyInstance(
                ProxyUtil.class.getClassLoader(), // 类加载器，一般是当前类
                new Class[]{Star.class}, // 指定生成代理的样子，也就是有哪些方法
                (Object proxy, Method method, Object[] args) ->{
                    if(method.getName().equals("sing")){
                        System.out.println("SING");
                    } else if(method.getName().equals("dance")){
                        System.out.println("DANCE");
                    }
                    return method.invoke(bigStar, args);
                }
        );
        return starProxy;
    }
}
